<?php

include_once 'Taller.php';
include_once 'FechaTaller.php';
include_once 'Conexion.php';
include_once 'FechasNoticia.php';

class GestionTaller {

    public function getMesesConTalleres() {
        try {
            $query = "SELECT distinct month(fecha) mes,year(fecha) year FROM 
                `fechataller`  where cant_participantes is null group by fecha limit 10 ";
            $query = Conectar($query);
            $num = mysql_num_rows($query);
            if ($num == 0) {
                throw new Exception("No hay Tallers");
            } else {
                $listaFechas = array();
                while ($row = mysql_fetch_assoc($query)) {
                    $FechaTaller = new FechasTaller();
                    $FechaTaller->setMes($row['mes']);
                    $FechaTaller->setYear($row['year']);
                    $listaFechas[] = $FechaTaller;
                }
                return $listaFechas;
            }
        } catch (Exception $e) {
            return "Ocurrio un error en la Busqueda";
        }
    }

    public function getListaUltimosTalleres() {
        try {
//            $query = "SELECT * FROM `taller` order by FECHA DESC limit 10"; 
            $query = "SELECT *,ft.id idfecha FROM `fechaTaller` ft,taller t WHERE t.id=ft.id_taller
         order by FECHA limit 10";
            $query = Conectar($query);
            $num = mysql_num_rows($query);

            if ($num == 0) {
                throw new Exception("No hay Talleres");
            } else {
                $listaTaller = array();
                while ($row = mysql_fetch_assoc($query)) {
                    $taller = new Taller();
                    $taller->nombre = ($row['NOMBRE']);
                    $taller->descripcion = ($row['DESCRIPCION']);
                    $taller->id = ($row['ID']);
                    $taller->resumen = ($row['RESUMEN']);
                    $fechaTaller = new FechaTaller();
                    $fechaTaller->setFecha($row['FECHA']);
                    $fechaTaller->setLugar($row['LUGAR']);
                    $fechaTaller->setCantParticipantes($row['CANT_PARTICIPANTES']);
                    $fechaTaller->setId($row['idfecha']);
                    $taller->fechaTaller = $fechaTaller;
                    $listaTaller[] = $taller;
                }
                return $listaTaller;
            }
        } catch (Exception $e) {
            throw new Exception("no hay ningun taller registrado");
//            return "Ocurrio un error en la Consulta";
        }
    }

    public function getListaTalleres() {
        try {
            $query = "SELECT * FROM `taller`";
            $query = Conectar($query);
            $num = mysql_num_rows($query);

            if ($num == 0) {
                throw new Exception("No hay Talleres");
            } else {
                $listaTaller = array();
                while ($row = mysql_fetch_assoc($query)) {
                    $taller = new Taller();
                    $taller->nombre = ($row['NOMBRE']);
                    $taller->descripcion = ($row['DESCRIPCION']);
                    $taller->id = ($row['ID']);
                    $taller->resumen = ($row['RESUMEN']);
                    $listaTaller[] = $taller;
                }
                return $listaTaller;
            }
        } catch (Exception $e) {
            throw new Exception("no hay ningun taller registrado");
        }
    }

    public function getTallerPorId($id) {
        try {
            $query = "SELECT * FROM `taller` WHERE `ID`=" . $id . " limit 10";
            $query = Conectar($query);
            $num = mysql_num_rows($query);
            if ($num == 0) {
                throw new Exception("No hay taller");
            } else {
                $row = mysql_fetch_assoc($query);
                $taller = new Taller();
                $taller->nombre = ($row['NOMBRE']);
                $taller->descripcion = ($row['DESCRIPCION']);
                $taller->id = ($row['ID']);
                $taller->resumen = ($row['RESUMEN']);
                return $taller;
            }
        } catch (Exception $e) {
            return "Ocurrio un error en la Busqueda";
        }
    }

    public function getTallerPorIdFecha($idFechaTaller) {
        try {
            $query = "SELECT  *,ft.id idfecha FROM fechataller ft,`taller` t WHERE ft.id_taller=t.id and ft.`ID`=" . $idFechaTaller . " limit 10";
            $query = Conectar($query);
            $num = mysql_num_rows($query);
            if ($num == 0) {
                throw new Exception("No hay taller");
            } else {
                $row = mysql_fetch_assoc($query);
                $taller = new Taller();
                $taller->nombre = ($row['NOMBRE']);
                $taller->descripcion = ($row['DESCRIPCION']);
                $taller->id = ($row['ID']);
                $taller->resumen = ($row['RESUMEN']);
                $fechaTaller = new FechaTaller();
                $fechaTaller->setFecha($row['FECHA']);
                $fechaTaller->setLugar($row['LUGAR']);
                $fechaTaller->setCantParticipantes($row['CANT_PARTICIPANTES']);
                $fechaTaller->setId($row['idfecha']);
                $taller->fechaTaller = $fechaTaller;
                return $taller;
            }
        } catch (Exception $e) {
            return "Ocurrio un error en la Busqueda";
        }
    }

    public function getTallerPorMes($mes) {
        try {
            $query = "SELECT *,ft.id idfecha FROM `fechaTaller` ft,taller t WHERE t.id=ft.id_taller
         and ft.FECHA BETWEEN '" . $mes . "-01' AND '" . $mes . "-31' limit 10";
            $query = Conectar($query);
            $num = mysql_num_rows($query);
            if ($num == 0) {
                throw new Exception("No hay tallers");
            } else {
                $listaTaller = array();
                while ($row = mysql_fetch_assoc($query)) {
                    $taller = new Taller();
                    $taller->nombre = ($row['NOMBRE']);
                    $taller->descripcion = ($row['DESCRIPCION']);
                    $taller->id = ($row['ID']);
                    $taller->resumen = ($row['RESUMEN']);
                    $fechaTaller = new FechaTaller();
                    $fechaTaller->setFecha($row['FECHA']);
                    $fechaTaller->setLugar($row['LUGAR']);
                    $fechaTaller->setCantParticipantes($row['CANT_PARTICIPANTES']);
                    $fechaTaller->setId($row['idfecha']);
                    $taller->fechaTaller = $fechaTaller;
                    $listaTaller[] = $taller;
                }
                return $listaTaller;
            }
        } catch (Exception $e) {
            return "Ocurrio un error en la Consulta";
        }
    }

    public function crearTaller($taller) {
        try {
            $query = "INSERT INTO `taller` VALUES ( NULL ,  '" . $taller->nombre . "',  '" . $taller->descripcion . "',  '" . $taller->resumen . "')";
            $query = Conectar($query);
        } catch (Exception $e) {
            return "Ocurrio un error en la insercion";
        }
    }

    public function crearFechaTaller($fechaTaller) {
        try {
            $query = "INSERT INTO `fechataller` VALUES (NULL , '" . $fechaTaller->getFecha() . "',
            '" . $fechaTaller->getLugar() . "', NULL , '" . $fechaTaller->getIdTaller() . "');";
            $query = Conectar($query);
        } catch (Exception $e) {
            return "Ocurrio un error en la insercion";
        }
    }

    public function getTalleresReporte($fechaINI, $fechaFIN, $idTaller) {
        $tok = strtok($fechaINI, "/");
        $dd = $tok;
        $tok = strtok("/");
        $mm = $tok;
        $tok = strtok("/");
        $yy = $tok;
        $fechaINI = date("Y-m-d", mktime((0), (0), (0), ($mm), ($dd), ($yy)));

        $tok = strtok($fechaFIN, "/");
        $dd = $tok;
        $tok = strtok("/");
        $mm = $tok;
        $tok = strtok("/");
        $yy = $tok;
        $fechaFIN = date("Y-m-d", mktime((0), (0), (0), ($mm), ($dd), ($yy)));
        try {
            if ($idTaller == -1) {
                $query = "select lugar, sum(Cant_participantes) Cant from fechataller 
                where fecha between '" . $fechaINI . "' and '" . $fechaFIN . "'
                group by lugar ";
            }else
                $query = "select lugar, sum(Cant_participantes) Cant from fechataller 
                where id_taller =" . $idTaller . " and fecha between '" . $fechaINI . "' and '" . $fechaFIN . "'
                group by lugar ";
            $query = Conectar($query);
            $num = mysql_num_rows($query);

            if ($num == 0) {
                throw new Exception("No hay Talleres en ese rango de fechas");
            } else {
                $listaTaller = array();
                while ($row = mysql_fetch_assoc($query)) {
                    $taller = new FechaTaller();
                    $taller->setCantParticipantes($row['Cant']);
                    $taller->setLugar($row['lugar']);
                    $listaTaller[] = $taller;
                }
                return $listaTaller;
            }
        } catch (Exception $e) {
            throw new Exception("no hay ningun taller registrado");
//            return "Ocurrio un error en la Consulta";
        }
    }

}

?>
